package com.hsyg.netty.code;

import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.util.HexUtil;
import io.netty.buffer.ByteBuf;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.MessageToByteEncoder;

/**
 * 自定义编码规则
 * 字符串转16进制转二进制
 */
public class StringToByteEncoder extends MessageToByteEncoder<String> {

  @Override
  protected void encode(ChannelHandlerContext ctx, String msg, ByteBuf out) throws Exception {
    String encoderStr = HexUtil.encodeHexStr(msg, CharsetUtil.CHARSET_UTF_8);
    out.writeBytes(encoderStr.getBytes());
  }

}
